package com.wanmait.gohome.mapper;

import com.wanmait.gohome.pojo.Userinfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserinfoMapper {

    Userinfo findUserinf(String id); //查找用户信息

     List<Userinfo> selectList(); //后台查找用户

    List<Userinfo> selectList1(); //后台查找停封的账号

     List<Userinfo> findtitle(@Param("name")String name, @Param("province")Integer province, @Param("city")Integer city, @Param("area")Integer area); //后台用户搜索

     int updateEnable(Userinfo userinfo); //修改状态


    int deleteByPrimaryKey(Integer id);

    int insert(Userinfo record);

    int insertSelective(Userinfo record);

    Userinfo selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Userinfo record);

    int updateByPrimaryKey(Userinfo record);

    void insertUser(Userinfo userinfo);     //用户注册

    String selectByPhone(String phone);   //检查手机号是否重复

    Userinfo findByPhoneAndPass(Userinfo userinfo);  //登录

    void updateById(Userinfo userinfo);   //登录时修改登录次数  ip  时间

    Userinfo findByPhone(String phone);    //自动登录

    void updateByPhone(Userinfo userinfo); //修改密码

    List<Userinfo> selectVolunteers();//后台查询志愿者

    void deleteVolunteer(Integer id);    //删除志愿者

    Userinfo selectVolunteerById(Integer id);//通过Id查询志愿者信息

    void updatePicById(Userinfo userinfo);// 个人中心 修改图片

    Userinfo findById(Integer id);  //通过 id查询 信息
    /**
     * 申请成为志愿者填信息
     */
    void updateApplyVolunteer(Userinfo userinfo);

    void updateByUserId(Userinfo userinfo);   //个人中心 修改信息  修改密码  上传身份证图片

    int recover(Integer id);//志愿者恢复

    List<Userinfo>  searchVolunteer(String title);//模糊查询

    //得到志愿者申请个数
    int getVolunteerApplyCount();

    //列出志愿者申请
    List<Userinfo> selectVolunteerApply();

    //志愿者申请通过
    int VolunteerPass(Integer id);

    //志愿者申请驳回
    int volunteerReject(Integer id);

    //志愿者驳回理由
    void insertReject(Userinfo userinfo);

    //志愿者详细信息
    Userinfo volunteerApplyInfo(Integer id);

    //根据用户名查询用户的所有内容
    Userinfo findByIdSolr(Integer id);


    void updateByTaskIdAndUserId(Integer userId, Integer taskId);  //个人中心  放弃任务

    void updateByUAndT(Integer userId, Integer taskId,String finishReason);     //完成任务
}